home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MEDICAL / 2608A.ZIP / GP.ZIP / SM_LET.SRC < prev    next >
Text File  |  1990-11-06  |  12KB  |  309 lines

  1. ;\|
  2. ;SM_LET.SRC     Translated from SM_LET.EDT by Roger Mathew's EDT2SRC Ver 4.11
  3. ;START    04:19:38 PM  11/ 6/90   |
  4. RECALLSX:
  5.     define(MEM_DOC|A|20||)
  6.     define(Z30|A|30||)
  7.     define(LINE|N|2||)
  8.     define(PUNC2|N|2||)
  9.     define(CH_NAME|A|15||)
  10.     define(HIS|A|3||)
  11.     define(CL_DAY|A|32||)
  12.     define(PUNC2|N|2||)
  13.     define(CNTR|N|2||)
  14.     define(FLAG|A|1||)
  15.     define(AMOUNTX|N|4||)
  16.     define(S10|A|10||)
  17.     define(DATECOD|S|8||)
  18.     define(CODER|A|5||)
  19.     define(C30|A|30||)
  20.     define(TM|A|27||4)
  21.     define(A30|A|30||)
  22.     define(CHOICE|N|1||)
  23.     define(TDND|S|8||)
  24.     define(DATERP|S|8||)
  25.     define(B30|A|30||)
  26.     define(S1|A|1||)
  27.     define(TD|S|8||)
  28.     define(A8|A|8||)
  29.     define(B8|A|8||)
  30.     define(YES.NO|A|1||)
  31.     define(N5|N|5||)
  32.     define(D1|A|1||)
  33.     define(NY|A|1||)
  34.     define(CODEX1|S|8||)
  35.     define(CTR|N|2||)
  36.     define(DATEN|N|2||)
  37.     define(DATEX|S|8||)
  38.     define(TIT|A|4||)
  39.     define(PATIENT1A|A|30||)
  40.     define(PUNC1|N|2||)
  41.     define(N.2.0.P|N|2||)
  42.     define(P.2.0.1|N|2||)
  43.     define(P.2.0.2|N|2||)
  44.     define(PATIENT2|A|30||)
  45.     define(P.2.0.3|N|2||)
  46.     define(RECTYPE1|A|4||)
  47.     define(RECTYPE2|A|4||)
  48.     define(PATIENT1|A|30||)
  49.     mount(NOTE|S)
  50.     pmsg(""|1|1|Y|N|S|)
  51.     open(PATIENT||0|FILE_LOCK)
  52.     open(GPSETUP||0|)
  53.     open(RECALLS||0|FILE_LOCK)
  54.     D1 = ("")
  55.     date(TD|G)
  56.     YES.NO = ("")
  57.     DATEX = (0)
  58.     DATEN = (0)
  59.     CODEX1 = (0)
  60.     NY = ("")
  61.     trap(I|G|PRINTSTOP)
  62.     trap(S|I)
  63.     trap(D|I)
  64.     trap(F|I)
  65.     trap(R|I)
  66.     trap(B|I)
  67.     trap(G|I)
  68.     trap(H|S|HELP)
  69.     trap(M|I)
  70.     trap(N|I)
  71.     trap(Q|G|MENU)
  72.     mount(RECALLS|S)
  73.     enter(CL_DAY||||N|N|N|||N)
  74.     trim(CL_DAY|T)
  75.     RECTYPE1 = ("DNA1")
  76.     RECTYPE2 = ("DNA2")
  77.     CTR = (1)
  78.     enter(RECTYPE1||||Y|Y|N|||N)
  79.     enter(RECTYPE2||||Y|Y|N|||N)
  80.     CTR = (1)
  81.     pchr(P|4)
  82. RECSTART:
  83.     COD.PAT.NAME = ("A")
  84.     find(G|COD.PAT.NAME|EXIT|N)
  85. RECTEST:
  86.     if RECTYPE1 <> ("") then if RECTYPE1 > (COD[CTR]) goto NEXTRECALL
  87.     if RECTYPE2 <> ("") then if RECTYPE2 < (COD[CTR]) goto NEXTRECALL
  88.     RECORD.NUMBER = (COD.REF)
  89.     DATECOD = (COD.D[CTR])
  90.     CODER = (COD[CTR])
  91.     find(M|RECORD.NUMBER|EXIT|)
  92.     DATERP = (COD.D[CTR])
  93.     gosub PRINTRECAL
  94. NEXTRECALL:
  95.     find(N|RECALLS|EXITX|)
  96.     goto RECTEST
  97. SEXIST:
  98.     if SEX = ("M") do
  99.         {
  100.         TIT = ("Mr.")
  101.         HIS = ("his")
  102.         }
  103.     if SEX = ("F") do
  104.         {
  105.         if MARITAL.STATUS = ("M") do
  106.             {
  107.             TIT = ("Mrs.")
  108.             }
  109.         else
  110.             {
  111.             TIT = ("Ms.")
  112.             }
  113.         HIS = ("her")
  114.         }
  115.     if SEX = ("") then TIT = ("Ms.")
  116.     trim(TIT|T)
  117.     ret
  118. NEWX:
  119.     PATIENT1A = (PATIENT.NAME)
  120.     PUNC1 =loc(","|PATIENT1A|1||27)
  121.     PUNC1 = (PUNC1-1)
  122.     PATIENT2 =mid(PATIENT.NAME|1|PUNC1|)
  123.     PUNC1 = (PUNC1+3)
  124.     P.2.0.2 = (27-PUNC1)
  125.     PATIENT1 =mid(PATIENT1A|PUNC1|P.2.0.2|)
  126.     PUNC2 =loc(" "|PATIENT1|1||P.2.0.2)
  127.     CH_NAME =mid(PATIENT1|1|PUNC2|)
  128.     trim(PATIENT1|T)
  129.     trim(PATIENT2|T)
  130.     Z30 = (TIT+PATIENT1+NY+PATIENT2)
  131.     trim(CH_NAME|T)
  132.     mem_doc = (rpdoctor[doctor])
  133.     ret
  134. CLEARALL:
  135.     clr(PATIENT|B)
  136.     clr(RECALLS|B)
  137.     S1 = ("")
  138.     DATEX = (0)
  139.     YES.NO = ("")
  140.     ret
  141. EXIT:
  142.     run("recmenu")
  143. EXIT1:
  144.     run("recmenu")
  145. PRINTSTOP:
  146.     pon(S)
  147.     clrlne(1|25)
  148.     pmsg("CONTINUE ? (Y/N):"|30|12|N|N|S|)
  149.     enter(YES.NO|"YN"||PRINTSTOP|Y|Y|N|48|12|N)
  150.     if YES.NO <> ("Y") then run("recmenu")
  151.     pon(P)
  152.     ret
  153. MENU:
  154.     TM[1] = (" 1 - EXIT             01011")
  155.     menu(1|20|2|23|0|TM|CHOICE|1|22|MENU||"-------RECALLS--------"|N)
  156.     on(CHOICE|G|EXIT1|MENU)
  157. TRACE:
  158.     break
  159.     ret
  160. FILE_LOCK:
  161.     pmsg("FILE PATIENT AND/OR RECALLS IS IN USE - EXIT"|20|24|Y|N|S|)
  162.     clrlne(1|24)
  163.     run("recmenu")
  164. HELP:
  165.     saves(1)
  166.     window(1|23|22|78)
  167.     pmsg("                                    SMEAR RECALLS"|1|1|N|Y|S|)
  168.     pmsg("                                    ============="|1|2|N|Y|S|)
  169.     pmsg("1.USE UPDATE PROGRAM AND MAKE SURE ALL WOMEN BETWEEN 33 AND 65 ARE ENTERED"|1|3|N|Y|S|)
  170.     pmsg("2.ALL THESE WOMEN MUST HAVE A RECALL DATE."|1|4|N|Y|S|)
  171.     pmsg("3.RUN REPORT ONLY TO GET LATEST UPDATE ON TOTAL AT-RISK GROUP"|1|5|N|Y|S|)
  172.     pmsg("4.RECALL EVERY MONTH ON THE 16th + A DAY OR TWO"|1|6|N|Y||)
  173.     pmsg("5.CHECK OFF AGAINST RECALL LIST. ALL NON-ATTENDERS WILL BE ASKED AGAIN"|1|7|N|Y|S|)
  174.     pmsg("6.NON-ATTENDERS WILL BE THOSE WHO ARE MORE THAN ONE MONTH BEHIND"|1|8|N|Y||)
  175.     pmsg(""|1|9|N|Y|S|)
  176.     pmsg("                                    CODES"|1|10|N|Y|S|)
  177.     pmsg("                                    ====="|1|11|N|Y|S|)
  178.     pmsg("CODE 1 = SMEARS"|1|12|N|Y|S|)
  179.     pmsg("CODE 2 = CONTRACEPTION"|1|13|N|Y|S|)
  180.     pmsg("CODE 3 = IMMUNISATION"|1|14|N|Y|S|)
  181.     pmsg("CODE 4 = DIABETES"|1|15|N|Y|S|)
  182.     pmsg("CODE 5 = EPILEPSY"|1|16|N|Y|S|)
  183.     pmsg("CODE 6 = THYROID"|1|17|N|Y|S|)
  184.     pmsg("CODE 7 = ANGINA AND HEART DISEASE"|1|18|N|Y|S|)
  185.     pmsg("CODE 8 = ASTHMA"|1|19|N|Y|S|)
  186.     pmsg("CODE 9 = BP"|1|20|N|Y|S|)
  187.     pmsg(""|1|21|Y|N|S|)
  188.     redsp(1)
  189.     ret
  190. ;IMMUN    01:33:54 AM   8/11/89   |
  191. PRINTRECAL:
  192.     gosub SEXIST
  193.     gosub NEWX
  194.     pset(140|72|72)
  195.     pmsg(%27;%120;%49;%27;%112;%49;%27;%107;%49|||N|N|P|)
  196.     pmsg("                      ";%27;%119;%49;%27;%80;%14;%18;let_title;%27;%119;%48;%27;%112;%48|||N|N|P|)
  197.     pmsg(%27;%15;%27;%71;""|||N|N|P|)
  198.     pmsg(title1;"                                                   ";ad1|||N|N|P|)
  199.     pmsg(title2;"                                                   ";ad2|||N|N|P|)
  200.     pmsg(title3;"                                                   ";ad3|||N|N|P|)
  201.     pmsg(Title4;"                                                   ";ad4|||N|N|P|)
  202.     pset(90|72|72)
  203.     pmsg(%18;%27;%112;%49;%27;%72;""|||N|N|P|)
  204.     pmsg(""|||N|N|P|)
  205.     pmsg(""|||N|N|P|)
  206.     pmsg("       ";%27;%45;%49;%27;%69;"IMPORTANT MESSAGE ABOUT YOUR FUTURE HEALTH FROM YOUR DOCTOR.";%27;%45;%48;%27;%70|||N|N|P|)
  207.     pmsg(""|||N|N|P|)
  208.     pmsg(""|||N|N|P|)
  209.     pmsg("Dear ";TIT;" ";PATIENT2;","|||N|N|P|)
  210.     pmsg(""|||N|N|P|)
  211.     if COD[CTR] = ("DNA1") do
  212.         {
  213.         pmsg(" I recently sent you an appointment to see our nurse for your cervical smear "|||N|N|P|)
  214.         pmsg("which is now overdue."|||N|N|P|)
  215.         goto NEXTLINE
  216.         }
  217.     if COD[CTR] = ("DNA2") do
  218.         {
  219.         pmsg(" I have recently sent you two appointments to see our nurse for your cervical "|||N|N|P|)
  220.         pmsg("smear which is now overdue."|||N|N|P|)
  221.         }
  222. NEXTLINE:
  223.     pmsg(""|||N|N|P|)
  224.     pmsg("This procedure is";%27;%69;" VERY IMPORTANT ";%27;%70;"for your future health."|||N|N|P|)
  225.     pmsg("A cervical smear is the ";%27;%69;"ONLY ";%27;%70;"way of preventing deadly disease of the cervix."|||N|N|P|)
  226.     pmsg(""|||N|N|P|)
  227.     pmsg(%27;%69;"This disease is on the increase ";%27;%70;"so you must protect yourself now."|||N|N|P|)
  228.     pmsg(""|||N|N|P|)
  229.     pmsg("I will be pleased to discuss any worries you may have about the test - just"|||N|N|P|)
  230.     pmsg("make an appointment with me or another Doctor."|||N|N|P|)
  231.     pmsg(""|||N|N|P|)
  232.     pmsg("Please ring the surgery";%27;%69;" NOW ";%27;%70;"to arrange another appointment or to let us know "|||N|N|P|)
  233.     pmsg("if you have decided you";%27;%69;" NEVER ";%27;%70;"want this test,so that we do not keep sending "|||N|N|P|)
  234.     pmsg("for you."|||N|N|P|)
  235.     pmsg(""|||N|N|P|)
  236.     pmsg(%27;%69;"If you already have an appointment and cannot attend,please let the surgery "|||N|N|P|)
  237.     pmsg("know so the nurses' valuable time can be spent on another patient.";%27;%70|||N|N|P|)
  238.     pmsg(""|||N|N|P|)
  239.     pmsg("Yours sincerely,"|||N|N|P|)
  240.     pmsg(""|||N|N|P|)
  241.     pmsg(""|||N|N|P|)
  242.     pmsg(""|||N|N|P|)
  243.     pmsg(MEM_DOC|||N|N|P|)
  244.     pmsg(""|||N|N|P|)
  245.     pmsg(%27;%112;%48;%27;%69;%18;%27;%116;%49;%27;%55|||N|Y|P|)
  246.     pmsg("   ┌─────────────────────────────────────────────────────────────────┐"|||N|N|P|)
  247.     pmsg("   │  PLEASE LOOK TO THE FUTURE AND CARE ABOUT YOURSELF AND FAMILY   │"|||N|N|P|)
  248.     pmsg("   └─────────────────────────────────────────────────────────────────┘"|||N|N|P|)
  249.     pmsg(%27;%64;%27;%70|||N|Y|P|)
  250.     for(LINE|1|24|1)
  251.         {
  252.         pmsg(""|||N|N|P|)
  253.         }
  254.     ret
  255. EXITX:
  256.     goto EXIT
  257. \SSRECALLS 
  258.                                                                                                 
  259.                                                                                                 
  260.                                                                                                 
  261.                                                                                                 
  262.                                                                                                 
  263.                              SMEAR DNA LETTER                                                   
  264.                                                                                                 
  265.    RECALLS                                                       ╔══════════════════════════════
  266. ══════════╗                                      ║                                              
  267.                                  ║                                        ║                     
  268.                  ║  From Code: p p p p  to  Code: p p p p         ║                                     
  269.  ║                                        ║                                      ║   PRESS RETUR
  270. N TWICE ONLY              ║                                      ╚══════════════════════════════
  271. ══════════╝                                                                                     
  272.                                                                                                 
  273.                                                                                                 
  274.                                                                                                 
  275.                                                                                                 
  276.                                                                                                 
  277.                                                                                                 
  278. \
  279. RECTYPE1            4 A 3113
  280. RECTYPE2            4 A 4613
  281. \
  282. \STNOTE    
  283.                          RECALLS - WHAT TO DO
  284.                          ====================
  285.  
  286. 1. TO TAG ALL POTENTIAL RECALLS ANSWER RUN RECALLS AT RISK FROM MAIN MENU.
  287.  
  288.   (THIS WILL TAG A GIVEN AGE GROUP WITH CODE <****>)
  289.  
  290. 2. TO UPDATE THE <****> USE EASY SMEAR /IMMUNISATION UPDATE PROGRAM.
  291.  
  292. 3. IF YOU ANSWER NO TO REPORT ONLY YOU WILL PRINT A LIST OF OUTSTANDING
  293.    RECALLS WITH OR WITHOUT LABELS.
  294.  
  295. 6. PRINT OUT THESE AND SEND TO PATIENTS.
  296.  
  297. 7. UPDATE  RESULTS USING EASY RECALL MAINTENANCE
  298.  
  299.         NOTE: THIS PROGRAM WILL ALWAYS PRINT OUT "ALL" OUTSTANDING RECALLS.
  300.  
  301.                           ========================
  302.  
  303.  
  304.  
  305.  
  306.  
  307. \
  308. \
  309.